home *** CD-ROM | disk | FTP | other *** search
/ cyber.net interactivo 5 / inter@ivo 1996-06.iso / sample1.mst < prev    next >
Text File  |  1996-05-13  |  6KB  |  201 lines

  1. '**************************************************************************
  2. '*   cyber.net INTERACTIVO 2 - SETUP - Marco Morais / JosΘ Miguel Lopes   *
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. CONST WS_VISIBLE            = &H10000000    'Para tirar a barra de tφtulo
  11. CONST WS_BORDER             = &H00800000
  12. CONST WS_CLIPCHILDREN     = &H02000000
  13. CONST GWL_STYLE             = -16
  14.  
  15. CONST SW_SHOWMAXIMIZED     = 3                'Para maximizar janela
  16.  
  17.  
  18. ''Dialog ID's
  19. CONST WELCOME       = 100
  20. CONST ASKQUIT       = 200
  21. CONST DESTPATH      = 300
  22. CONST EXITFAILURE   = 400
  23. CONST EXITQUIT      = 600
  24. CONST EXITSUCCESS   = 700
  25. CONST OPTIONS       = 800
  26. CONST APPHELP       = 900
  27. CONST BADPATH       = 6400
  28.  
  29. ''Bitmap ID
  30. CONST LOGO = 1
  31.  
  32. GLOBAL DEST$        ''Default destination directory.
  33. GLOBAL OPTCUR$      ''Option selection from option dialog.
  34.  
  35. DECLARE SUB Install
  36. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  37. DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%, iShow%) AS INTEGER
  38. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%, offset%, style&) AS LONG
  39.  
  40. INIT:
  41.      hWnd% = HwndFrame()
  42.      i1& = SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  43.      i2% = ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  44.  
  45.      CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  46.      HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  47.  
  48.      SetBitmap CUIDLL$, LOGO
  49.      SetTitle "Instalador do CD-ROM Cyber.net Interactivo"
  50.  
  51.      szInf$ = ""'GetSymbolValue("STF_SRCINFPATH")
  52.      IF szInf$ = "" THEN
  53.           szInf$ = GetSymbolValue("STF_CWDDIR") + "SAMPLE1.INF"
  54.     END IF
  55.     ReadInfFile szInf$
  56.     source$ = GetSymbolValue("STF_CWDDIR")
  57.  
  58.      OPTCUR$ = "1"
  59.      DEST$ = "D:\"
  60.  
  61. '$IFDEF DEBUG
  62.      i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  63.      WinDrive$ = MID$(GetWindowsDir, 1, 1)
  64.      IF IsDriveValid(WinDrive$) = 0 THEN
  65.           i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  66.           GOTO QUIT
  67.      END IF
  68. '$ENDIF ''DEBUG
  69.  
  70.  
  71. WELCOME:
  72.      sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  73.      IF sz$ = "CONTINUE" THEN
  74.           UIPop 1
  75.      ELSE
  76.           GOSUB ASKQUIT
  77.           GOTO WELCOME
  78.      END IF
  79.  
  80. GETPATH:
  81.      SetSymbolValue "EditTextIn", DEST$
  82.      SetSymbolValue "EditFocus", "END"
  83. GETPATHL1:
  84.      sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  85.     IF sz$ = "EXIT" THEN
  86.               GOSUB ASKQUIT
  87.     END IF
  88.  
  89.      DEST$ = GetSymbolValue("EditTextOut")
  90.  
  91.  
  92.      Install
  93.  
  94. QUIT:
  95.      IF ERR = 0 THEN
  96.           dlg% = EXITSUCCESS
  97.     ELSEIF ERR = STFQUIT THEN
  98.         dlg% = EXITQUIT
  99.     ELSE
  100.         dlg% = EXITFAILURE
  101.      END IF
  102. QUITL1:
  103.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  104.      IF sz$ = "REACTIVATE" THEN
  105.         GOTO QUITL1
  106.     END IF
  107.     UIPop 1
  108.  
  109.     END
  110.  
  111. BADPATH:
  112.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  113.     IF sz$ = "REACTIVATE" THEN
  114.         GOTO BADPATH
  115.     END IF
  116.     UIPop 1
  117.     RETURN
  118.  
  119.  
  120.  
  121. ASKQUIT:
  122.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  123.  
  124.     IF sz$ = "EXIT" THEN
  125.         UIPopAll
  126.            ERROR STFQUIT
  127.     ELSEIF sz$ = "REACTIVATE" THEN
  128.         GOTO ASKQUIT
  129.      ELSE
  130.         UIPop 1
  131.     END IF
  132.     RETURN
  133.  
  134.  
  135.  
  136. '**
  137. '** Purpose:
  138. '**     Builds the copy list and performs all installation operations.
  139. '** Arguments:
  140. '**     none.
  141. '** Returns:
  142. '**     none.
  143. '*************************************************************************
  144. SUB Install STATIC
  145.  
  146. '    SrcDir$ = GetSymbolValue("STF_SRCDIR")
  147. '    CreateDir DEST$, cmoNone
  148.  
  149. '    OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  150. '    WriteToLogFile ""
  151. '    WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  152. '    WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  153. '    WriteToLogFile ""
  154. '    WriteToLogFile "May have had to create the directory: " + DEST$
  155. '    WriteToLogFile ""
  156.  
  157. '    AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  158. '    AddSectionKeyFileToCopyList "Options", OPTCUR$, SrcDir$, DEST$
  159. '    CopyFilesInCopyList
  160.  
  161. '    ini$ = MakePath(DEST$, "DEMO.INI")
  162. '    CreateIniKeyValue "WIN.INI", "MSSetup Sample 1", "Option", OPTCUR$, cmoNone
  163. '    CreateIniKeyValue ini$, "Section 1", "Key 1", "Value 1" , cmoNone
  164. '    CreateIniKeyValue ini$, "Section 2", "Key 2", "Value 2" , cmoNone
  165. '    CreateIniKeyValue ini$, "Section 3", "Key 3", "Value 3" , cmoNone
  166.  
  167. '  *****       ALTERAR ESTA PARTE MENSALMENTE!!!!!!!!!!!!      ;-)   ********************
  168.  
  169.      CreateProgmanGroup "Cyber.Net Interactivo", "", cmoNone
  170.      ShowProgmanGroup  "Cyber.Net Interactivo", 1, cmoNone
  171.      CreateProgmanItem "Cyber.Net Interactivo", "Cyber.Net Interactivo 5", ""+MakePath(DEST$,"cybint5\bin\cybint5.exe"), "", cmoOverwrite
  172.  
  173.     CloseLogFile
  174.  
  175. END SUB
  176.  
  177.  
  178.  
  179. '**
  180. '** Purpose:
  181. '**     Appends a file name to the end of a directory path,
  182. '**     inserting a backslash character as needed.
  183. '** Arguments:
  184. '**     szDir$  - full directory path (with optional ending "\")
  185. '**     szFile$ - filename to append to directory
  186. '** Returns:
  187. '**     Resulting fully qualified path name.
  188. '*************************************************************************
  189. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  190.      IF szDir$ = "" THEN
  191.           MakePath = szFile$
  192.      ELSEIF szFile$ = "" THEN
  193.           MakePath = szDir$
  194.      ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  195.           MakePath = szDir$ + szFile$
  196.      ELSE
  197.           MakePath = szDir$ + "\" + szFile$
  198.      END IF
  199. END FUNCTION
  200.  
  201.